The increasing demand of wireless high data service has motivated various standards bodies such as 3GPP2 (3rd generation partnership project 2), 3GPP (3rd generation partnership project) and IEEE-802.16 to develop various wireless systems supporting faster data rate, higher spectral efficiency and more reliable communication such as an ultra mobile broadband (UMB), a long term evolution (LTE) and wireless metropolitan area networks (MAN), respectively. 16 and 64 QAM have been widely adopted by those standard bodies to achieve faster data rate and higher spectral efficiency. In those standards, turbo coding is a key technology of forward error correction in high data packet service.
It is well known that turbo or convolutional codes are superior at correcting random error, than burst errors. Interleaving is carried out to improve the turbo decoder performance in a wireless environment channel where the signal may experience deep fading thereby causing the burst error in a codeword. To overcome such burst errors, interleaving is applied between the channel encoder and the modulation symbol mapper in wireless digital communication system.
In a system employing higher order QAM such as 16 or 64 QAM, careful attention should be paid when designing interleaving because each constellation bit in a QAM constellation is unequally protected. For example, there are three protection classes in 64 QAM as shown in FIG. 1. FIG. 1 shows 64QAM signal constellation employed in IEEE 802.16 Wireless MAN. In FIG. 1, 6 bits (b0, b1, b2, b3, b4, b5) are grouped to form a modulation symbol, which is a complex-valued signal. Bits b2 and b5 belong to the best protected class. Bits b1 and b4 belong to the 2nd protection class while bits b0 and b3 belong to the 3rd class which has the worst protection.
A bit reversal interleaver (BRI) type of channel interleaver is employed in both wireless MAN and UMB systems. An m-bit reversal interleaver operates on a sequence of length N=2m by mapping each index to its bit reversed value. Since the bit position of a permuted sequence by bit reversal interleaver is distributed well randomly, it provides for robustness against burst errors. Since the size of data to be interleaved may not be the power of 2, modified bit reversal interleavers or pruned bit reversal interleaver are widely employed.
FIG. 2 illustrates the turbo encoder employed in IEEE802.16 wireless MAN. A double binary circular recursive systematic convolutional code is used as its constituent encoder. The bits of the data to be encoded are alternately fed to A and B. First, Switch 1 is on and the input sequence is fed into the constituent encoder 1 220. First Constituent encoder 1 generates sequences Y1 and W1, which are parity bits of sequence A and B. After completing encoding of sequences A and B, Switch 1 is off while Switch 2 is on.
Next, Sequences A and B are interleaved by the turbo interleaver 210 and their permuted sequences A′ and B′ are fed into the constituent encoder 2 230 and their parity sequences Y2 and W2 are generated. After turbo encoder, 6 blocks (A, B, Y1, W1, Y2, W2) are generated and its output order will be A, B, Y1, Y2, W1 and W2 and size of each block is half of encoded packet size.
FIG. 3 shows the channel coding process of a wireless MAN embedding turbo code. First, the input packet is encoded by ⅓ turbo encoder 310 and the double binary convolutional turbo code (CTC) is used. A current system punctures the mother codeword to generate a subpacket with various coding rates. The subpacket is also used as hybrid automatic repeat request (HARQ) packet transmission. The ⅓ CTC encoded codeword goes through the interleaving block 320 and the puncturing is performed in symbol selection block 360.
The interleaving block 320 includes symbol separation block 330, sub-block interleaver 340, and symbol grouping block 350. The detail operation of interleaving block 320 is shown in FIG. 4.
In symbol selection block 360, the puncturing is performed to select the consecutive interleaved bit sequence that starts at any point of whole codeword. For the first transmission, the subpacket is generated to select the consecutive interleaved bit sequence that start from the first bit of the systematic part of the mother codeword. The length of the subpacket is chosen according to the needed coding rate reflecting the channel condition. The first subpacket can also be used as a codeword with the needed coding rate for a burst where HARQ is not applied. The symbols in a subpacket generated by the symbol selection block 360 are formed by selecting specific sequence of symbols from the interleaved CTC encoder output sequence.
The resulting subpacket sequence is a binary sequence of symbol for the modulator 390. The modulator 390 includes constellation bit-mapper 370 and modulation block 380. In constellation bit-mapper 370, each M interleaved bit is mapped to the constellation bits bM-1˜b0 (the first bit is mapped to the higher index bit in the constellation). The constellation mapped data shall be subsequently modulated in modulation block 380.
FIG. 4 shows the detailed operation of interleaving block 320 in FIG. 3, which consist of symbol separation block 330, Sub-block interleaver 340 and symbol grouping block 350. In symbol separation block 330, all encoded symbols are demultiplexed into six sub-blocks denoted A, B, Y1, Y2, W1 and W2. The encoder output symbols are sequentially distributed into six sub-blocks with the first N encoder output symbols going to the A sub-block, the second N encoder output going to the B sub-block, the third N to the Y1 sub-block, the fourth N to the Y2 sub-block, the fifth N to the W1 sub-block, the sixth the W2 sub-block, etc. Then six sub-blocks are interleaved separately in sub-block interleaver 340.
In IEEE802.16 wireless MAN, the modified bit reversal interleaver is used as sub-block interleaver. In the modified bit reversal interleaver, the entire sub-block of symbols to be interleaved is stored into an array at addresses from 0 to the number of the symbols minus one (N−1) and the interleaved symbols are read out in permuted order and read address is basically determined by 2m(k modJ)+BROm(k/J) according to interleaver parameters m and J, which are predetermined value according to block size N as long as the generated address is smaller than N, where BROm(y) indicates the bit reversed m bit value of y. In the pruned bit reversal interleaver, the read address is determined by solely BROm(k) and the larger address than the block size N is removed, where N=2m.
In symbol grouping block 350, the sub-block-interleaved versions of A and B blocks are by-passed while the interleaved Y1 and Y2 sub-block sequence are multiplexed and the interleaved W1 and W2 are multiplexed. The output order of symbol grouping block 351 is the interleaved A and B sub-block sequence followed by a symbol-by-symbol multiplexed sequence of interleaved Y1 and Y2 sub-block sequence, followed by a symbol-by-symbol multiplexed sequence of the interleaved W1 and W2 sub-block sequence. The symbol-by-symbol multiplexed sequence of interleaved Y1 and Y2 sub-block sequences shall consist of the first output bit from the Y1 sub-block interleaver the first output bit from the Y2 sub-block interleaver, the second output bit from the Y1 sub-block interleaver, the second output bit from the Y2 sub-block interleaver, etc. The symbol-by-symbol multiplexed sequence of the interleaved W1 and W2 sub-block sequences shall consist of the first output bit from the W1 sub-block interleaver, the first output bit from the W2 sub-block interleaver, the second output bit from the W1 sub-block interleaver, the second output bit from the W2 sub-block interleaver, etc.
This design of interleaving has the following inharmonious operation when it is operated with 64-QAM modulation. As stated earlier, there are three protection classes in 64 QAM constellation bits as shown in FIG. 1, best-class (b2, b5), good-class (b1, b4) and worst-class (b0, b3). According to the operation of existing interleaving scheme, in each sub-block (A, B, Y1, Y2, W1 or W2), the symbols in some groups comprising n bits consecutive sequence of N bits are mapped into best class while the symbols belonging to other groups are mapped into the good or worst class. The number of group and its size n are determined by the input packet size. One example for input packet size 384 is shown Table 1. When the input packet size of encoder is 384, the sub-block size N is 192 and input address for each bits spans 0 to 191.
Table 1 shows the address corresponding to input bits in sub-block A or B mapped to each 64-QAM constellation bit (b0, b1, b2, b3, b4, b5). 0th to 63th input bits are mapped into best class (b2, b5), 64th to 127th input bits are mapped into good class (b1, b4) and 128th to 191th input bits are mapped into worst class (b0, b3). If the pruned bit reversal interleaver is used instead of the modified bit reversal interleaver, it has still same problem as above. At this given circumstance, it's more likely that some codeword bits are mapped into worst- or good-class in 64-QAM constellation will cause more errors than ones mapped into best-class because effective signal to noise ratio (SNR) of those bits mapped into worse class is lower than bits mapped into better class. In this case, it is more likely that the burst error among those bits mapped into worst class will happen because those consecutive codeword bits experience equivalently low SNR together and the decoder of turbo code undergoes severe performance degradation.
TABLE 1ModulationAddress of input bits mapped toSymbolconstellation bitIndexb5b4b3b2b1b00064128329616011680144481121762872136401041683248815256120184446813236100164520841485211618061276140441081727289215660124188826613034981629188214650114178101074138421061701126901545812218612670134381021661322861505411818214147814246110174153094158621261901616512933971611717811454911317718973137411051691925891535712118520569133371011652121851495311718122137714145109173232993157611251892436713135991632519831475111517926117513943107171272791155591231872877113539103167292387151551191833015791434711117531319515963127191